Information processing apparatus, method and program for receiving an electronic mail including information instructing to skip an error which occurs in a printing apparatus

ABSTRACT

An information processing apparatus (printing server) of one aspect of the present invention generates print data from a print target file attached to the electronic mail received from a mobile terminal via a network, and causes a printer designated in the electronic mail to execute printing based on the print data. In a case where a printer notifies a printing server of the occurrence of an error during the execution of printing based on print data, the printing server instructs the printer to automatically skip an error which has occurred, if it is designated in received electronic mail that the error should be automatically skipped.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus forprinting by using electronic mail, a method of controlling the same, anda storage medium.

2. Description of the Related Art

There is available a printing system which allows a printing apparatus(printer) connected on a network to directly execute printing from amobile terminal such as a cellular phone without the intervention of aPC (Personal Computer) or the like. In such a printing system, ingeneral, a mobile terminal transmits a print target file to a printerupon attaching the file to print target electronic mail to cause theprinter to execute printing based on the file. In this case, the mobileterminal transmits electronic mail attached with a print target file toan electronic mail address, as a destination, which corresponds to aprinter to execute printing. The printer receives the electronic mailfrom a mail server and executes printing based on the receivedelectronic mail and the file attached to the electronic mail.

Japanese Patent Laid-Open No. 2004-220606 discloses a system in which acellular phone transmits electronic mail and its attached file to aspecific server on a network, and the server generates print data fromthe data received from the cellular phone and causes a designatedprinter to print the data. This system designates a printer based on theelectronic mail address assigned to the printer. In addition, in thesystem disclosed in Japanese Patent Laid-Open No. 2004-220606, when themail server notifies a mobile terminal that electronic mail addressed tothe mobile terminal is stored, the mobile terminal can instruct aspecific printer to print the electronic mail and its attached file.This allows the mobile terminal to make the printer print longelectronic mail whose browsing may be limited due to too large a displayscreen size or the like or an attached file whose browsing may belimited due to inability to execute an application program.

In addition, Japanese Patent Laid-Open No. 2001-312392 discloses aprinting system in which a mobile terminal such as a cellular phone orPDA makes a printer print electronic mail and its attached file via anapplication server. In this printing system, a printer is connected to anetwork via a dedicated adapter directly connected to the printer. Thisprinter functions as an interface between the application server and theprinter and transmits the print data received from the applicationserver to the printer, thereby causing the printer to print the printdata.

In a printing system like that disclosed in Japanese Patent Laid-OpenNos. 2004-220606 and 2001-312392, in general, a printer driver (printdriver) for operating a printer is installed in a server in advance. Inaddition, an application program for generating print data (print job)from the electronic mail and its attached file received from a mobileterminal or the like is also installed in the server in advance. If theserver is formed from, for example, a PC, it is possible to display ascreen associated with the operation or state of the printer on thedisplay unit of the PC via the printer driver and the applicationprogram. In this case, the user can issue, on the PC, an instruction toresolve errors by cancelling print job, avoiding (skipping) error, andthe like based on display on a display unit.

The above technique, however, has the following problem. For example, inthe above printing system using electronic mail, a printer driver andapplication programs are installed in a server and operate on theserver. On the other hand, no such printer driver or applicationprograms are installed in a mobile terminal. For this reason, althoughthe user of the mobile terminal can check screen display associated withthe operation or state of a printer capable of executing printing basedon electronic mail on the server, he/she cannot check it on the mobileterminal.

Even if, therefore, an error occurs in the printer, the user of themobile terminal cannot properly handle the error that has occurred. Inaddition, even if the user of the mobile terminal is notified of theoccurrence of an error from a server, he/she cannot handle the error onthe mobile terminal by using a printer driver or application program. Insuch a case, even when an error has occurred in the printer, it isdesirable to allow the printer to continue printing as long as it can.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the aboveproblem. The present invention provides a technique of making a printercontinue printing as long as it can even upon the occurrence of an errorwhen making the printer execute printing based on the electronic mailreceived by an information processing apparatus (server) from a mobileterminal.

According to one aspect of the present invention, there is provided aninformation processing apparatus which is configured to communicate witha printing apparatus via a network, the apparatus comprising: areception unit configured to receive, from a mobile terminal, electronicmail to which a print target file is attached and in which a printingapparatus to print the file is designated; a print control unitconfigured to cause a printing apparatus designated in the electric mailto execute printing based on the print target file attached to theelectric mail; a detection unit configured to detect an error whichoccurs during execution of printing by the designated printingapparatus; and an instruction unit configured to instruct, if theelectronic mail received by the reception unit includes informationinstructing to skip an error which occurs in the designated printingapparatus, the designated printing apparatus to continue printing byskipping the error detected by the detection unit in accordance with atype of the error.

According to another aspect of the present invention, there is provideda method of controlling an information processing apparatus which isconfigured to communicate with a printing apparatus via a network, themethod comprising: receiving, from a mobile terminal, electronic mail towhich a print target file is attached and in which a printing apparatusto print the file is designated; causing a printing apparatus designatedin the electric mail to execute printing based on the print target fileattached to the electric mail; detecting an error which occurs duringexecution of printing by the designated printing apparatus; andinstructing, if the received electronic mail includes informationinstructing to skip an error which occurs in the designated printingapparatus, the designated printing apparatus the designated printingapparatus to continue printing by skipping the detected error inaccordance with a type of the detected error.

The present invention can provide a technique of making a printercontinue printing as long as it can even upon the occurrence of an errorwhen making the printer execute printing based on the electronic mailreceived by an information processing apparatus (server) from a mobileterminal.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments (with reference to theattached drawings).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a view schematically showing an example of the arrangement ofa printing system 100 according to an embodiment of the presentinvention;

FIG. 2 is a block diagram schematically showing an example of thearrangement of an AP 102 in the printing system 100 according to theembodiment of the present invention;

FIG. 3 is a block diagram showing an example of the hardware arrangementof a mail server 103 in the printing system 100 according to theembodiment of the present invention;

FIG. 4 is a block diagram schematically showing an example of thearrangement of a printer 105 in the printing system 100 according to theembodiment of the present invention;

FIG. 5 is a view schematically showing a transmitting/receivingoperation procedure for electronic mail in the printing system 100according to the embodiment of the present invention;

FIG. 6 is a flowchart showing the operation procedures of the mailserver 103 and a printing server 104 according to the embodiment of thepresent invention;

FIG. 7 is a flowchart showing a procedure for print control on theprinter 105 which is executed by the printing server 104 according tothe embodiment of the present invention;

FIG. 8 is a view showing an example of a table associating extensionswith applications according to the embodiment of the present invention;

FIG. 9 is a view showing an example of a table associating printerdrivers, printer names, and avoidance mode values with each otheraccording to the embodiment of the present invention;

FIG. 10 is a view showing an example of the screen displayed by a UIapplication according to the embodiment of the present invention;

FIG. 11 is a view showing an example of statuses that the printer 105according to the embodiment of the present invention can take;

FIG. 12 is a flowchart showing the operation procedure executed by theprinting server 104 according to the embodiment of the present inventionin accordance with the status notified from the printer 105 and anavoidance mode value; and

FIG. 13 is a view showing an example of the transmission screen ofelectronic mail on the mobile terminal 101 according to the embodimentof the present invention.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, embodiments of the present invention will be described indetail with reference to the accompanying drawings. It should be notedthat the following embodiments are not intended to limit the scope ofthe appended claims, and that not all the combinations of featuresdescribed in the embodiments are necessarily essential to the solvingmeans of the present invention.

<Arrangement of Printing System 100>

FIG. 1 is a view schematically showing an example of the arrangement ofa printing system 100 according to an embodiment of the presentinvention. As shown in FIG. 1, the printing system 100 includes a mobileterminal 101, an AP (Access Point) 102, a mail server 103, a printingserver 104, and a printer 105. The AP 102, the mail server 103, theprinting server 104, and the printer 105 are mutually connected to eachother via a wired LAN (Local Areal Network) 106 so as to be communicablewith each other. The wired LAN 106 is formed from Ethernet®. In thisembodiment, the printer 105 is an example of a printing apparatus, andthe printing server 104 is an example of an information processingapparatus which can communicate with the printing apparatus via anetwork. Although FIG. 1 shows only one printer (printer 105), aplurality of printers may be connected to the wired LAN 106.

The mobile terminal 101 is an information terminal such as a cellularphone or smart phone having a size that allows to carry it with a hand,and can make various kinds of application programs run on the installedOS (Operating System). For example, an application program (that is,electronic mail software) for transmitting/receiving electronic mail viawireless communication is installed in the mobile terminal 101. The userof the mobile terminal 101 can instruct the printer to print electronicmail and its attached file by using this electronic mail software via anetwork.

The AP 102 is a device functioning as a bridge for connecting the mobileterminal 101 to a wired network via wireless communication. The AP 102may be an access point complying with a wireless LAN scheme such asIEEE802.11a/b/g. In this case, the mobile terminal 101 can access thewired LAN 106 via the AP 102 and can also access the devices connectedto the wired LAN 106.

The mail server 103 functions as an SMTP server and a POP server. Themail server 103 transmits and receives electronic mail (E-mail) to andfrom external apparatuses (for example, the mobile terminal 101) inaccordance with SMTP and POP. The mail server 103 is formed as a generalinformation processing apparatus such as a PC, in which a program forimplementing a function as a mail server (SMTP server or POP sever) isinstalled and runs. In this embodiment, for example, the mail server 103receives and holds the electronic mail transmitted from the mobileterminal 101 and addressed to an electronic mail address correspondingto the mail server 103.

A printer driver (print driver) corresponding to the printer 105connected to the wired LAN 106 is installed in the printing server 104,and controls the operation of the printer 105 via the printer driver. Ifprinters other than the printer 105 are connected to the wired LAN 106,printer drivers corresponding to these printers are also installed inthe printing server 104.

As will be described later, the printing server 104 analyzes theelectronic mail and its attached file received from the mobile terminal101 via the mail server 103 to generate print data which can be printedby the printer designated in the electronic mail. An application program(printing application) for performing such analysis is installed in theprinting server 104. The printing server 104 also transmits thegenerated print data to the designated printer and instructs (commands)the printer to execute printing based on the print data by using theprinter driver. The printing server 104 is also formed as a generalinformation processing apparatus such as a PC like the mail server 103,in which a program for implementing a function as a printing server isinstalled and runs.

The printing server 104 controls the printer 105 based on a printerdriver and an application program which operate in the printing server104. The printer 105 prints an image based on the print data receivedfrom the printing server 104 on a sheet in accordance with a printinstruction from the printing server 104.

<Arrangement of AP 102>

FIG. 2 is a block diagram schematically showing an example of thearrangement of the AP 102. The AP 102 is a device functioning as abridge which enables mutual communication between an apparatus (forexample, the mobile terminal 101) connected to a wireless communicationnetwork and an apparatus connected to a wired network (for example, thewired LAN 106). The AP 102 includes an electronic circuit unit 201, anoperation/display unit 204, a wired LAN port 205, and an antenna 206.The wired LAN port 205 includes a connector to which an Ethernet cablefor connection to the wired LAN 106 can be connected. Theoperation/display unit 204 includes, for example, an LED and a switch,and displays the states of the main body of the AP 102, each port, andthe like. Note that one end of the Ethernet cable is connected to thewired LAN port 205, and the other end is connected to a network hub (notshown). The mail server 103, the printing server 104, and the printer105 can be connected to the network hub.

The electronic circuit unit 201 includes a CPU/MAC unit 202 and a radiofrequency transceiver unit (to be referred to as an RF (Radio Frequency)unit hereinafter) 203. The CPU/MAC unit 202 incorporates a CPU, amemory, and a MAC (Media Access Control) unit. These devices areconnected to each other via a bus in the CPU/MAC unit 202. The MAC unitin the CPU/MAC unit 202 can execute wireless communication via the RFunit 203 and wired communication via the wired LAN port 205, and bridgesthese communications.

The antenna 206 for transmitting and receiving radio waves having afrequency corresponding to the wireless LAN scheme in use is connectedto the RF unit 203. The RF unit 203 converts a radio signal (analogsignal) included in the radio waves received by the antenna 206 into adigital signal and outputs it to the CPU/MAC unit 202. The CPU/MAC unit202 analyzes a destination or path from the digital signal received fromthe RF unit 203, and transmits the signal onto the wired LAN 106 via thewired LAN port 205. The RF unit 203 converts the digital signal receivedfrom the CPU/MAC unit 202 into an analog signal (radio signal) to betransmitted to the antenna 206, and outputs the signal. Note that the AP102 includes a security function for safe wireless LAN connection.

<Arrangements of Mail Server 103 and Printing Server 104>

FIG. 3 is a block diagram showing an example of the hardware arrangementof the mail server 103. As described above, the mail server 103 isformed as a PC, in which a program for implementing a server function isinstalled and runs. Note that the printing server 104 also has the samehardware arrangement as that of the mail server 103.

The mail server 103 includes a CPU 301, a ROM 302, a RAM 303, and an NIC(Network Interface Controller) 304. The mail server 103 further includesa KBC (KeyBoard Controller) 305, a DKC (DisK Controller) 306, an LIC(Local Interface Controller) 307, and a CRTC (CRT Controller) 308. Thesedevices are connected to each other via a bus 309 in the mail server103.

The NIC 304 is connected to the wired LAN 106, and functions as aninterface for communication with an external apparatus. A keyboard 311and a mouse 312 are connected to the KBC 305. An HD (Hard Disk) 310 isconnected to the DKC 306. A peripheral device can be connected to theLIC 307 via a local interface such as a USB. A CRT display 313 isconnected to the CRTC 308. Note that peripheral devices such as aprinter may be connected via the NIC 304 as well as the LIC 307.

The ROM 302 stores programs such as a basic I/O program and an OS. TheCPU 301 reads out programs stored in the ROM 302 to the RAM 303 andexecutes it to implement the function of the OS on the mail server 103.The HD 310 stores application programs running on the OS. The CPU 301reads out the application programs stored in the HD 310 to the RAM 303and executes it to implement the functions of the respective applicationprograms on the OS.

In the mail server 103, programs for implementing the functions of theSMTP server and POP server are installed in the HD 310. In the printingserver 104, a program (printer driver) for performing print control onthe printer 105 and programs such as an application program foranalyzing received electronic mail and its attached file are installedin the HD 310. The mail server 103 and the printing server 104respectively implement server functions by executing these programsinstalled in the HD 310.

<Arrangement of Printer 105>

FIG. 4 is a block diagram schematically showing an example of thearrangement of the printer 105. The printer 105 roughly includes acontroller unit 401 and an engine unit 411. The controller unit 401includes an ASIC 402, a network I/F (interface) unit 403, a local I/Funit, an engine I/F unit 407, an operation unit 408, a ROM 409, and aRAM 410. The controller unit 401 processes received print data via thenetwork I/F (interface) unit 403 or a local I/F unit 406.

The ASIC 402 incorporates a CPU and mainly sends print data to theengine unit 411 to make the engine unit 411 execute printing based onthe print data. The operation unit 408 simply notifies the user of theoperation state of the printer by blinking the LED. Note that theoperation unit 408 cannot display the detailed operation state of theprinter 105, and does not include any input interface for allowing theuser to issue a detailed operation instruction to the printer 105. TheROM 409 stores a program necessary for the operation of the printer 105.The RAM 410 is used as an image rendering area when the ASIC 402 (CPU)processes print data or a work area for a program.

The network I/F unit 403 functions as an interface for transmitting andreceiving data to and from the printing server 104 and externalapparatuses such as another PC via a network. The local I/F unit 406functions as an interface for transmitting and receiving data to andfrom the PC connected via a local interface such as a USB. The engineI/F unit 407 functions as an interface for transmitting the print dataprocessed by the ASIC 402 to the engine unit 411. The engine unit 411prints an image based on the print data received from the controllerunit 401 on a sheet.

<Electronic Mail Transmitting/Receiving Operation in Printing System100>

FIG. 5 is a view schematically showing a procedure for electronic mailtransmitting/receiving operation in the printing system 100. The mobileterminal 101 uses electronic mail software to transmit electronic mailfor making the printer 105 execute printing to an electronic mailaddress (electronic mail address corresponding to the mail server 103),as a destination, at which the printing server 104 can receive the mail.The electronic mail software in the mobile terminal 101 designates apredetermined electronic mail address corresponding to the printer 105,for example,

-   -   USER@mailprint.xx.jp        as a destination address. Assume that in this embodiment, the        mail server 103 receives electronic mail corresponding to the        domain included in this electronic mail address. The printing        server 104 can receive the electronic mail received by the mail        server 103 from the mail server 103 in accordance with POP. The        mail server 103 receives the above electronic mail transmitted        from the mobile terminal 101 via the AP 102 and the wired LAN        106. An SMTP server 501 operating on the mail server 103        receives electronic mail from the mobile terminal 101 in        accordance with SMTP and stores the mail in the HD 310.

The printing server 104 receives electronic mail stored in the mailserver 103 in accordance with POP. A print application running on theprinting server 104 checks the presence/absence of electronic mailreceived by the mail server 103 with respect to a POP server 502operating on the mail server 103. The print application checks, withrespect to the POP server 502, whether electronic mail addressed to anelectronic mail address corresponding to the mail server 103 (printingserver 104) has been received. The print application executes such checkprocessing at predetermined intervals.

The POP server 502 requests for a user name and a password in responseto access from the printing server 104. Upon succeeding inauthentication based on the user name and the password notified from theprinting server 104, the POP server 502 checks the electronic mailstored in the HD 310 and transmits information indicating thepresence/absence of electronic mail corresponding to the printing server104 to the printing server 104. Upon receiving electronic mailcorresponding to the printing server 104 and storing it in the HD 310,the POP server 502 transmits the electronic mail to the printing server104.

<Printing Operation Based on Electronic Mail in Printing System 100>

FIG. 6 is a flowchart showing the operation procedures of the mailserver 103 and the printing server 104 in the printing system 100.Printing operation based on electronic mail in the printing system 100will be described with reference to FIG. 6.

In the printing system 100, the electronic mail software in the mobileterminal 101 transmits electronic mail in which a printer to executeprinting is designated, upon attaching a print target file to the mail.The mobile terminal 101 displays the transmission screen of theelectronic mail software. The user then attaches a print target file anddesignates a printer to execute printing via the transmission screen, asshown in FIG. 13. On the transmission screen, for example, as shown inFIG. 13, the user inputs

-   -   USER@mailprint.xx.jp        to an address field        and    -   LBP100        to a subject field. This electronic mail address is an address        corresponding to the mail server 103 (printing server 104). As        described above, the user inputs the name of a printer to        execute printing to the address field of the electronic mail        attached with the print target file. Note that the user may        input the name of the printer to the text of the electronic mail        instead of the subject field. In this manner, the user writes        information indicating a printer to execute printing a print        target file on the subject field or text of electronic mail. The        name of a printer is an example of an identifier for specifying        the printer. It is therefore possible to use information other        than the name of a printer such as an IP address as long as it        can specify the printer. In this case, the table shown in FIG. 9        (to be described later) manages information such as IP addresses        in association with printer drivers.

In this case, when it is designated to execute printing in an “avoidancemode” (to be described later), the user can write information indicatingthe designation in the subject field or text of electronic mail. Forexample, it is possible to input

-   -   LBP100 avoidance        in the subject field or text of electronic mail. This input        “avoidance” is an example of information indicating that        printing should be executed in the “avoidance mode” (that is,        any error that occurs in the printer should be automatically        resolved).

The AP 102 receives the above electronic mail transmitted from themobile terminal 101 by wireless communication. The AP 102 transmits thereceived electronic mail to the mail server 103 designated as thedesignation of the mail via the wired LAN 106. Upon receiving theelectronic mail in accordance with SMTP (step S601), the mail server 103stores the received electronic mail in the HD 310 together with theattached file (step S602).

The printing server 104 makes an inquiry about the presence/absence ofelectronic mail by performing POP access to the mail server 103 atpredetermined intervals (for example, constant intervals) as describedabove (step S611). In response to the POP access from the printingserver 104 (step S603), the mail server 103 transmits, if electronicmail is stored in the HD 310, the electronic mail and its attached fileto the printing server 104 (step S604). Upon receiving the electronicmail from the mail server 103 (step S612), the printing server 104analyzes the file attached to the electronic mail (step S613).

If the analysis result in step S613 indicates that the file attached tothe received electronic mail is print target data (step S614), theprinting server 104 generates print data from the attached file. Inaddition, the printing server 104 transmits the generated print data tothe printer designated in the received electronic mail (the printer 105in this case) (step S615). Note that in this embodiment, a file beforeanalysis by the printing server 104 in step S613 will be referred to asan “attached file”, and the data rendered from the attached file so asto be printable by a printer to execute printing will be referred to as“print data”.

Finally, the printer 105 forms an image based on the print data on asheet by printing the print data received from the printing server 104.

<Print Control on Printing Server 104>

FIG. 7 is a flowchart showing a procedure for print control on theprinter 105 which is executed by the printing server 104. FIG. 7 is aflowchart for explaining the details of operation associated with the“avoidance mode” (to be described later) executed in steps S611 to S615described with reference to FIG. 6. The CPU 301 of the printing server104 executes the processing in each step shown in FIG. 7.

First of all, in step S701, the CPU 301 receives electronic mail fromthe mail server 103. This electronic mail is transmitted from the mobileterminal 101, to which a print target file is attached and in which theprinter 105 is designated as a printer to execute printing for theattached file. In step S702, the CPU 301 determines whether electronicmail from the mail server 103 has been successfully received. If YES,the process advances to step S703. If NO, the CPU 301 terminates theprocessing.

In step S703, the CPU 301 extracts the file attached to the receivedelectronic mail. In step S704, the CPU 301 further determines whetherthe extraction in step S703 has succeeded. If YES, the CPU 301 storesthe extracted file in the HD 310. If NO, the process advances to stepS709 to output the processing result to the log. Note that the CPU 301displays this log on the CRT display 313 and stores it in the HD 310.This allows the user to use the log for troubleshooting.

In step S705, the CPU 301 switches the default printer setting to“printer name” written in the subject field (or text) of the receivedelectronic mail. Assume that in this embodiment, the name of the printer105 is written as the printer name, and the printer 105 is designated asa printer to print the attached file. In step S706, the CPU 301 furtherdetermines whether the switching operation has succeeded. If YES, theprocess advances to step S707. If NO, the process advances to step S709.In step S709, the CPU 301 outputs the processing result to the log as inthe above case.

When the process advances to step S710, the CPU 301 determines whetherthe “avoidance mode” is designated in the subject field or text ofreceived electronic mail. In this case, the “avoidance mode” is anoperation mode of automatically resolving any error that occurs in adesignated printer (printer 105) when the printer notifies theoccurrence of an error during the execution of printing based on printdata. Upon determining in step S710 that the avoidance mode isdesignated, the CPU 301 writes, in step S711, “1” as an avoidance modevalue in a storage area, of the HD 310, which corresponds to the printer(printer 105) designated in the received electronic mail. The CPU 301manages such avoidance mode values in the table 900 as shown in FIG. 9and holds these values in the HD 310. In contrast to this, if the CPU301 determines in step S710 that the avoidance mode is not designated,the process advances to step S707.

In step S707, the CPU 301 causes the printer 105 designated in theelectronic mail to print the attached file extracted from the receivedelectronic mail. In this case, the CPU 301 checks the extension of theattached file and activates an application, stored in the HD 310, whichcorresponds to the file. The CPU 301 activates an applicationcorresponding to the extension of the attached file by referring to atable 800 shown in FIG. 8, which associates the extensions of the filesattached to electronic mails with applications for processing the files.The CPU 301 causes the printer 105 to print the attached file by usingthe printing function of the activated application.

In addition, the CPU 301 activates the printer driver linked to the nameof the printer designated as a printer to execute printing, which isobtained in step S705. The CPU 301 generates print data by analyzing theattached file extracted from the received electronic mail and renderingthe file into print data printable by the printer 105 using theactivated printer driver. Thereafter, the CPU 301 performs the printcontrol of transmitting the generated print data to the designatedprinter 105 to cause the printer 105 to execute printing based on theprint data.

The printing server 104 holds print settings in the HD 310 in advancefor each printer including the printer 105 as a control target via anetwork (the wired LAN 106). In step S707, when performing print controlon the printer 105, the CPU 301 causes the printer (the printer 105 inthis case) designated in the electronic mail to execute printing inaccordance with print settings, of the print settings held in the HD310, which correspond to the printer.

In step S707, the CPU 301 can decide a printer driver to be activated byusing a table 900 shown in, for example, FIG. 9 as a table associatingprinter drivers with printer names. Every time a new printer isconnected to the wired LAN 106 or the local I/F unit 406 of the printingserver 104, the CPU 301 adds information indicating a printer driver forthe printer and the printer name to the table 900.

If the designated printer 105 notifies in step S707 that an error hasoccurred during the execution of printing based on print data, the CPU301 executes processing in accordance with the avoidance mode valuestored in the corresponding storage area of the HD 310 in the mannerdescribed later.

Upon completion of printing of the attached file, the CPU 301 restoresthe default printer settings in step S708, and writes “0” as anavoidance mode value in the storage area, of the HD 310, whichcorresponds to the designated printer 105 in step S712. Subsequently,the CPU 301 outputs the processing result to the log in step S709. Theprocess then returns to step S701.

<Example of Display Screen on Printing Server 104>

FIG. 10 shows an example of a screen (screen 1001) showing the operationor state of a printer (the printer 105 in this case) designated inreceived electronic mail, which is notified from the printer 105. Thisscreen is used to perform operation associated with the printer 105. TheUI application installed in the printing server 104 displays such ascreen on the CRT display 313. The UI application, when installedtogether with a printer driver in the printing server 104 by the user,is associated with the corresponding printer 105. This UI application isexecuted by the CPU 301 as with the printer driver.

The screen 1001 displayed by a UI application includes an error skipbutton 1002, a job execution status display portion 1004, a device statedisplay portion 1005, and a device state explanation portion 1006, asshown in FIG. 10.

The device state display portion 1005 displays information indicatingthe status of the printer 105 designated in received electronic mail,which is notified from the printer 105. FIG. 11 shows an example of thestatuses which the printer 105 can take. The respective statusesindicate the following states:

“ready” 1101: a state in which the printer 105 can perform printing;

“printing” 1102: a state in which the printer 105 is performingprinting;

“no toner” 1103: a state in which no toner cartridge is set in theprinter 105;

“out of toner” 1104: a state in which the amount of toner for printingincluded in a toner cartridge is too small to guarantee print quality;

“sheet size discrepancy” 1105: a state in which the size of a sheet heldin the feeding unit of the printer 105 differs from the sheet sizedesignated by print settings from the printing server 104; and

“sheet type discrepancy” 1106: a state in which the type of sheet heldin the feeding unit of the printer 105 differs from the sheet typedesignated by the printing settings from the printing server 104.

Of these statuses, the statuses 1101 to 1104 are those which indicatethat errors have occurred in the printer 105. “No toner” 1103corresponds to a status in which it is not possible to continue printingby skipping, that is, an error which cannot be automatically resolved inthe printer 105. On the other hand, “out of toner” 1104, “sheet sizediscrepancy” 1105, and “sheet type discrepancy” 1106 correspond tostatuses in which it is possible to continue printing by skipping, thatis, errors which can be automatically resolved in the printer 105.

Referring back to FIG. 10, the device state explanation portion 1006displays a text describing a detailed description about the statuses(FIG. 11) of the printer 105. The job execution status display portion1004 indicates the execution state by the printer 105 of a print jobbased on the print data and print settings received from the printingserver 104. Referring to FIG. 10, the job execution status displayportion 1004 indicates, for example, that printing of a document named“test1.doc” of user “User1” is complete up to the third page of sixpages. Note that while the printer 105 is not performing printing, thejob execution status display portion 1004 displays nothing.

The error skip button 1002 is a button for issuing an instruction toskip (resolve) an error which has occurred in the printer 105 andcontinue printing operation. The error skip button 1002 is activatedonly in a status in which it is possible for the printer 105 to continueprinting by skipping an error. The user can operate the error skipbutton 1002 by using the mouse 312. If, however, “1” is set as anavoidance mode value for the printer 105 in step S711, the printingserver 104 executes control to automatically avoid (resolve) an errorwithout operation of the user.

<Operation Corresponding to Avoidance Mode Value in Printing Server 104>

FIG. 12 is a flowchart showing an operation procedure executed by theprinting server 104 in accordance with the status notified from theprinter 105 and an avoidance mode value. The CPU 301 of the printingserver 104 executes the processing in each step shown in FIG. 12.

In step S1201, the CPU 301 determines, upon being notified of a statusfrom the printer 105, whether the status is a status in which an errorcan be skipped (that is, a state in which an error that can beautomatically resolved has occurred). As described above, in thisembodiment, if the status is “out of toner” 1104, “sheet sizediscrepancy” 1105, or “sheet type discrepancy” 1106, the CPU 301determines that an error can be skipped, and the process advances tostep S1202. If the status is “no toner” 1103, the CPU 301 determinesthat an error cannot be skipped, and the process then advances to stepS1203.

In step S1203, the CPU 301 inactivates the error skip button 1002 andterminates the processing. In step S1202, the CPU 301 activates theerror skip button 1002, and the process advances to step S1204. In stepS1204, the CPU 301 refers to the table 900 to determine whether theavoidance mode value corresponding to the printer 105 is “1”. If theavoidance mode value is “1”, the CPU 301 determines that the avoidancemode is valid, and the process then advances to step S1205. In stepS1205, the CPU 301 issues an instruction to automatically skip (resolve)an error to the printer 105 without any instruction from the user in theprinting server 104. The CPU 301 executes the instruction withoutnotifying the mobile terminal 101 of the status (the occurrence of anerror) notified from the printer 105.

If the avoidance mode value is “0”, the CPU 301 determines in step S1204that the avoidance mode is invalid, and terminates the processing. Notethat when terminating the processing in step S1203 or S1204, the CPU 301may notify the mobile terminal 101 of the occurrence of an error in theprinter 105. That is, if it is not designated that an error in theprinter 105 should be automatically resolved, or the error that hasoccurred is not an error which can be automatically resolved, the CPU301 may notify the mobile terminal 101 of the occurrence of an error.

As described above, in this embodiment, the printing server 104generates print data from the print target file attached to theelectronic mail received from the mobile terminal 101 via a network, andmakes the printer designated in the electronic mail execute printingbased on the print data. In addition, in a case where the printingserver 104 has been notified, from a printer, of the occurrence of anerror during the execution of printing based on print data, if it hasbeen designated in the received electronic mail that the error should beautomatically resolved, the printing server 104 instructs the printer toautomatically resolve the error that has occurred. At this time, theprinting server 104 issues such an instruction to the printer withoutnotifying the mobile terminal 101 of the occurrence of an error in theprinter.

With this operation, when making a printer execute printing based on theelectronic mail received from a mobile terminal, the printing server canallow the printer to continue printing by resolving an error withoutinterrupting the printing if the error can be automatically resolved inthe printer. Even if some kind of error occurs in a printer, it ispossible to make the printer continue printing as long as it can.

Other Embodiments

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment(s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment(s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (for example, computer-readable medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2012-077801, filed Mar. 29, 2012, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An information processing apparatus which isconfigured to communicate with a printing apparatus via a network, theapparatus comprising: a reception unit configured to receive, from amobile terminal, electronic mail to which a print target file isattached and in which a printing apparatus to print the file isdesignated; a print control unit configured to cause a printingapparatus designated in the electric mail to execute printing based onthe print target file attached to the electric mail; a detection unitconfigured to detect an error which occurs during execution of printingby the designated printing apparatus; and an instruction unit configuredto instruct, if the electronic mail received by the reception unitincludes information instructing to skip an error which occurs in thedesignated printing apparatus, the designated printing apparatus tocontinue printing by skipping the error detected by the detection unitin accordance with a type of the error.
 2. The apparatus according toclaim 1, wherein if the electronic mail received by the reception unitincludes information instructing to skip the error and the error is anerror which can be automatically skipped, the instruction unit instructsthe designated printing apparatus to continue printing by skipping theerror.
 3. The apparatus according to claim 2, further comprising anotification unit configured to notify the mobile terminal of occurrenceof the error if the electronic mail received by the reception unit doesnot include information instructing to skip the error or the error isnot an error which can be automatically skipped.
 4. The apparatusaccording to claim 1, further comprising a holding unit configured tohold a printing setting in advance for each printing apparatus servingas a control target via the network, wherein the print control unitcauses a printing apparatus designated in the electronic mail to executeprinting based on a print setting, of print settings held by the holdingunit, which corresponds to the designated printing apparatus.
 5. Theapparatus according to claim 4, wherein an error which can beautomatically skipped includes a state in which a remaining amount oftoner for printing in the designated printing apparatus is small, astate in which a sheet size designated by the print setting differs froma size of a sheet held in a feeding unit of the designated printingapparatus, and a state in which a sheet type designated by the printsetting differs from a type of sheet held in the feeding unit of thedesignated printing apparatus.
 6. The apparatus according to claim 1,wherein information indicating a printing apparatus to execute printingof the print target file and information indicating that an error whichoccurs in the printing apparatus is to be automatically skipped arewritten in a subject field or text of the electronic mail.
 7. A methodof controlling an information processing apparatus which is configuredto communicate with a printing apparatus via a network, the methodcomprising: receiving, from a mobile terminal, electronic mail to whicha print target file is attached and in which a printing apparatus toprint the file is designated; causing a printing apparatus designated inthe electric mail to execute printing based on the print target fileattached to the electric mail; detecting an error which occurs duringexecution of printing by the designated printing apparatus; andinstructing, if the received electronic mail includes informationinstructing to skip an error which occurs in the designated printingapparatus, the designated printing apparatus the designated printingapparatus to continue printing by skipping the detected error inaccordance with a type of the detected error.
 8. A non-transitorycomputer-readable storage medium storing a computer program for causinga computer to execute steps of the method for controlling theinformation processing apparatus according to claim 7.